﻿using System;
using System.Runtime.Serialization;

namespace Zombie.Services.Definitions
{
    [DataContract(Namespace = "https://zsr.codeplex.com/services/")]
    public class ZombieTypeSummary
    {
        /// <summary>
        /// Initializes a new instance of the ZombieTypeSummary class.
        /// </summary>
        public ZombieTypeSummary(string zombieTypeName, int zombieTypeKey, string briefDescription = null, Uri thumbnailImage = null, DateTimeOffset? lastSighted = null)
        {
            ZombieTypeName = zombieTypeName;
            ZombieTypeKey = zombieTypeKey;
            BriefDescription = null;
            ThumbnailImage = thumbnailImage;
            LastSighted = lastSighted;
        }

        [Obsolete("This is only used by the DataContractSerializer", true)]
        public ZombieTypeSummary() { }

        [DataMember]
        public string ZombieTypeName { get; internal set; }

        [DataMember]
        public int ZombieTypeKey { get; internal set; }

        [DataMember]
        public string BriefDescription { get; internal set; }

        [DataMember]
        public Uri ThumbnailImage { get; internal set; }


        [DataMember]
        public DateTimeOffset? LastSighted { get; internal set; }
    }
}
